Price Action (ValueRay)With this indicator, you gain access to up to 5 moving averages from a selection of 15 different types. This flexibility allows you to customize your trading strategy based on your preferences and market conditions. Whether you're a fan of simple moving averages, exponential moving averages, or weighted moving averages, our indicator has got you covered! Additionally, all the MAs are Multi-Time-Frame!
The indicator also provides trading signals. By analyzing market trends and price movements, it generates accurate buy and sell signals, providing you with clear entry and exit points. You can choose between Fast, Mid, and Slow signal speeds.
Trendlines are another crucial aspect of effective trading, and our indicator seamlessly integrates them, helping you visualize the market's direction.
Furthermore, the indicator empowers you with recent highs and lows. By highlighting these key levels, it becomes easier than ever to spot support and resistance areas, aiding you in making well-informed trading choices.
Additionally, you can switch the ADR% (Average Daily Range as a Percentage) on and off. This number instantly provides you with information on how much the stock usually moves per day as a percentage.
Key Features:
Up to 5 Moving Averages, each with its own timeframe.
SMA, EMA, WMA, RMA, Triangular, Volume Weighted, Elastic Volume Weighted, Least Squares, ZLEMA, Hull, Double EMA, Triple EMA, T3, ALMA, KAMA (more to come in future versions).
Recent High and Low Pivot Points acting as support/resistance.
Trendline indicating the current trend.
Buy/Sell Signals (recommended for use as exit points, stop loss, or take profit levels).
Signals can have three different speeds: Fast, Mid, and Slow. You can switch them anytime depending on how quickly or slowly you want to exit a trade.
The predefined colors are best suited for a dark background, and the predefined settings provide a solid starting point that many traders use in their daily work.
Unlock the full potential of your trading strategy with our comprehensive indicator and start making informed trading decisions today!
Search in scripts for "Exponential Moving Average"
Volume-Weighted RSI with Adaptive SmoothingThis indicator is designed to provide traders with insights into the relative strength of a security by incorporating volume-weighted elements, effectively combining the concepts of Relative Strength Index (RSI) and volume-weighted averages to generate meaningful trading signals.
The indicator calculates the traditional RSI, which measures the speed and change of price movements, as well as the volume-weighted RSI, which considers the influence of trading volume on price action. It then applies adaptive smoothing to the volume-weighted RSI, allowing for customization of the smoothing process. The resulting smoothed volume-weighted RSI is plotted alongside the original RSI, providing traders with a comprehensive view of the price strength dynamics.
The line coloration in this indicator is designed to provide visual cues about the relationship between the RSI and the volume-weighted RSI. When the RSI line is above or equal to the volume-weighted RSI line, it suggests a potentially bullish condition with positive market momentum. In such cases, the line is colored lime. Conversely, when the RSI line (fuchsia) is below the volume-weighted RSI line, it indicates a potentially bearish condition with negative market momentum. The line color is set to fuchsia. By observing the line color, traders can quickly assess the relative strength between the RSI and the volume-weighted RSI, aiding their decision-making process.
The bar color and background color further enhance the visual interpretation of the indicator. The bar color reflects the RSI's relationship with the volume-weighted RSI and the predefined thresholds. If the RSI line is above both the volume-weighted RSI line and the overbought threshold (70), the bar color is set to lime, indicating a potentially overbought condition. Conversely, if the RSI line is below both the volume-weighted RSI line and the oversold threshold (30), the bar color is set to fuchsia, suggesting a potentially oversold condition. When the RSI line is between these two thresholds, the bar color is set to yellow, indicating a neutral or intermediate state. The background color, displayed with a semi-transparent shade, provides additional context by reflecting the prevailing market conditions. It turns lime if the volume-weighted RSI is above the overbought threshold, fuchsia if below the oversold threshold, and yellow if it falls between these two thresholds. This coloration scheme aids traders in quickly assessing market conditions and potential trading opportunities.
Calculations:
-- RSI Calculation : The traditional RSI is calculated based on the price movements of the asset. The up and down movements are determined, and exponential moving averages are used to smooth the values. The RSI value ranges from 0 to 100, with levels above 70 indicating overbought conditions and levels below 30 indicating oversold conditions.
-- Volume-Weighted RSI Calculation : The volume-weighted RSI incorporates the trading volume of the asset into the calculations. The closing price is multiplied by the corresponding volume, and the average is taken over a specific length. The up and down movements are smoothed using exponential moving averages to generate the volume-weighted RSI value.
-- Adaptive Smoothing : The indicator offers an adaptive smoothing option, allowing traders to customize the smoothing process of the volume-weighted RSI. By adjusting the smoothing length, traders can fine-tune the responsiveness of the indicator to changes in market conditions. Smoothing helps reduce noise and enhances the clarity of the signals.
Interpretation:
The indicator provides two main components for interpretation:
-- RSI : The traditional RSI reflects the price momentum and potential overbought or oversold conditions. Traders can look for RSI values above 70 as potential overbought signals, suggesting a possible price reversal or correction. Conversely, RSI values below 30 indicate potential oversold signals, indicating a potential price rebound or rally.
-- Volume-Weighted RSI : The volume-weighted RSI incorporates trading volume, which provides insights into the strength of price movements. When the volume-weighted RSI is above the traditional RSI, it suggests that the buying pressure supported by higher volume is stronger, potentially indicating a more reliable trend. Conversely, when the volume-weighted RSI is below the traditional RSI, it suggests that the selling pressure supported by higher volume is stronger, potentially indicating a more significant price reversal.
Potential Strategies:
-- Overbought and Oversold Signals : Traders can utilize the RSI component of the indicator to identify overbought and oversold conditions. A potential strategy is to consider taking short positions when the RSI is above 70 and long positions when the RSI is below 30. These levels can act as dynamic support and resistance areas, indicating possible price reversals.
-- Confirmation with Volume : Traders can use the volume-weighted RSI as a confirmation tool to validate price movements. When the volume-weighted RSI is above the traditional RSI, it may provide additional confirmation for long positions, suggesting stronger buying pressure. Conversely, when the volume-weighted RSI is below the traditional RSI, it may provide confirmation for short positions, indicating stronger selling pressure.
-- Trend Reversal Strategy : Watch for the volume-weighted RSI to reach extreme levels above 70 (overbought) or below 30 (oversold). Look for a reversal signal where the RSI line (green or fuchsia) crosses below or above the volume-weighted RSI line. Enter a trade when the reversal signal occurs, and the RSI line changes color. Exit the trade when the RSI line crosses back in the opposite direction or reaches the opposite extreme level.
-- Divergence Strategy : Compare the direction of the RSI line (green or fuchsia) with the volume-weighted RSI line. A bullish divergence occurs when the RSI line makes higher lows while the volume-weighted RSI line makes lower lows. A bearish divergence occurs when the RSI line makes lower highs while the volume-weighted RSI line makes higher highs. Once a divergence is identified, wait for the RSI line to cross above or below the volume-weighted RSI line as confirmation of a potential trend reversal. Consider using additional indicators or price action analysis to time the entry more accurately. Use stop-loss orders and profit targets to manage risk and secure profits.
-- Trend Continuation Strategy : Assess the overall trend direction by observing the RSI line's position relative to the volume-weighted RSI line. When the RSI line consistently stays above the volume-weighted RSI line, it indicates a bullish trend, while the opposite suggests a bearish trend. Look for temporary pullbacks within the ongoing trend where the RSI line (green or fuchsia) touches or crosses the volume-weighted RSI line. Enter trades in the direction of the dominant trend when the RSI line crosses back in the trend direction. Exit the trade when the RSI line starts to deviate significantly from the volume-weighted RSI line or when the trend shows signs of weakening through other technical or fundamental factors.
Limitations:
-- False Signals : Like any indicator, the "Volume-Weighted RSI with Adaptive Smoothing" may produce false signals, especially during periods of low liquidity or choppy market conditions. Traders should exercise caution and consider using additional confirmation indicators or tools to validate the signals generated by this indicator.
-- Lagging Nature : The indicator relies on historical price data and volume to calculate the RSI and volume-weighted RSI. As a result, the signals provided may have a certain degree of lag compared to real-time price action. Traders should be aware of this inherent lag and consider combining the indicator with other timely indicators to enhance the accuracy of their trading decisions.
-- Parameter Sensitivity : The indicator's effectiveness can be influenced by the choice of parameters, such as the length of the RSI, smoothing length, and adaptive smoothing option. Different market conditions may require adjustments to these parameters to optimize performance. Traders are encouraged to conduct thorough testing and analysis to determine the most suitable parameter values for their specific trading strategies and preferences.
-- Market Conditions : The indicator's performance may vary depending on the prevailing market conditions. It is essential to understand that no indicator can guarantee accurate predictions or consistently profitable trades. Traders should consider the broader market context, fundamental factors, and other technical indicators to complement the insights provided by the "Volume-Weighted RSI with Adaptive Smoothing" indicator.
-- Subjectivity : Interpretation of the indicator's signals involves subjective judgment. Traders may have varying interpretations of overbought and oversold levels, as well as the significance of the volume-weighted RSI in relation to the traditional RSI. It is crucial to combine the indicator with personal analysis and trading experience to make informed trading decisions.
Remember, no single indicator can provide foolproof trading signals. The "Volume-Weighted RSI with Adaptive Smoothing" indicator serves as a valuable tool for analyzing price strength and volume dynamics. It can assist traders in identifying potential entry and exit points, validating trends, and managing risk. However, it should be used as part of a comprehensive trading strategy that considers multiple factors and indicators to increase the likelihood of successful trades.
Optimized Zhaocaijinbao strategyIntroduction:
The Optimized Zhaocaijinbao strategy is a mid and long-term quantitative trading strategy that combines momentum and trend factors. It generates buy and sell signals by using a combination of exponential moving averages, moving averages, volume and slope indicators. It generates buy signals when the stock is above the 35-day moving average, the trading volume is higher than the 20-day moving average, and the stock is in an upward trend on a weekly timeframe."招财进宝" is a Chinese phrase that can be translated to "Attract Wealth and Bring in Treasure" in English. It is a common expression used to wish for good luck and prosperity in various contexts, such as in business or personal finances.
Highlights:
The strategy has several special optimizations that make it unique.
Firstly, the strategy is optimized for T+1 trading in the Chinese stock market and is only suitable for long positions. The optimizations are also applicable to international stock markets.
Secondly, the trend strategy is optimized to only show indicators on the right side and oscillations. This helps to prevent false signals in choppy markets.
Thirdly, the strategy uses a risk factor for dynamic position sizing to ensure position sizes are adjusted according to the current net asset value and risk preferences. This helps to lower drawdown risks.
The strategy has good resilience even without using stop loss modules in backtesting, making it suitable for trading hourly, 2-hourly, and daily K-line charts (depending on the stock being traded). We recommend experimenting with backtesting using SSE 1-hour or 2-hour or daily Kline charts.
Backtesting outcomes:
The strategy was backtested over the period from October 13th, 2005 to April 14th, 2023, using daily candlestick charts for the commodity code SSE:600763, with a currency of CNY and tick size of 0.01. The strategy used an initial capital of 1,000,000 CNY, with order sizes set to 10% equity and a pyramid of 1 order. The strategy also had a Max Position Size of 0.01 and a Risk Factor of 2.
Here is a summary of the performance of the trading strategy:
Total net profit: 288,577.32 CNY, representing a return of 128.86%
Total number of closed trades: 61
Winning trades: 37, representing a win rate of 60.66%
Profit factor: 2.415
Largest losing trade: 222,021.46 CNY, representing a loss of 14.08%
Average trade: 21,124.22 CNY, representing a return of 3.1%
Average holding period for all trades: 12 days
Conclusion:
In conclusion, the Optimized Zhaocaijinbao strategy is a mid and long-term quantitative trading strategy that combines momentum and trend factors. It is suitable for both Chinese stocks and global stocks. While the Optimized Zhaocaijinbao strategy has performed well in backtesting, it is important to note that past performance is not a guarantee of future results. Traders should conduct their own research and analysis and exercise caution when using any trading strategy.
Moonhub IndexMoonhub Index combines several popular technical indicators to create an aggregated index that aims to give a clearer overall picture of the market. The index takes into account the current market condition (trending, ranging, or volatile) to adjust its calculations accordingly.
The indicators used in this composite index are:
Hull Moving Average (HMA)
Fisher Transform (FT)
Williams Alligator
Moving Average Convergence Divergence (MACD)
Average True Range (ATR)
On-Balance Volume (OBV)
Money Flow Index (MFI)
Accumulation/Distribution (AD)
Pivot Points
True Strength Index (TSI)
Volume-Weighted Average Price (VWAP)
The script calculates the values of each indicator and then normalizes and weighs them according to predefined weights. The composite index is formed by summing the weighted values of each indicator. The final Moon Index is plotted on the chart, along with several other related lines like the exponential moving averages (EMA) and simple moving averages (SMA) of the index.
This custom index can be used by traders to get a more comprehensive view of the market and make better-informed trading decisions based on the combined insights of multiple indicators.
CoffeeShopCrypto 3pl MAThe CoffeeShopCrypto 3pl MA indicator is a technical analysis tool that uses three different moving averages to identify trends in the price of an asset. The three moving averages have lengths of 12, 26, and 50. If these numbers sound familiar its because they are based off the standard of the MACD indicator, and can be either simple moving averages (SMA) or exponential moving averages (EMA), depending on user preference.
The following is plotted on the chart
The fast EMA/SMA (based on the 12-period length) in yellow.
The mid EMA/SMA (based on the 26-period length) in gray.
The slow EMA/SMA (based on the 50-period length) in either green or red, depending on whether the current close price is above or below the Overall Trend MA.
In addition to the moving averages, the indicator also calculates the MACD (Moving Average Convergence Divergence), and uses it to color the bars based on the momentum of the asset.
The MACD is calculated using two user-defined lengths (fast and slow), as well as a user-defined smoothing length for the signal line. The oscillator and signal line can be either SMA or EMA, and the colors of the MACD bars are based on whether the histogram is growing or falling, and whether it is above or below the zero line.
Overall, this indicator provides traders with a comprehensive tool for understanding the trend of an asset, as well as the momentum behind that trend. The moving averages provide a clear visual representation of the trend, while the MACD bars give insight into the strength of that trend and potential shifts in momentum.
---------------LONG ENTRY----------------
MA1 above MA2 and Overall trend = Green
IF RSI is above its midline you are confirmed for a long entry
-----------Short Entry--------------
MA1 below MA2 and Overall trend = Red
IF RSI is below its midline you are confirmed for a short entry
Rail Line Levels [s3]Plots support/resistance lines based on a neutral signal (white portion) of the Rail Line (variable moving average) for a period of time designated by the user (defaults to 9 bars). Support/Resistance lines will be removed after a period of tests and can be determined by the user (defaults to 26). Support/Resistance is deemed not as important or strong after several touches or tests. The trailer uses a combination of the calculation for the Rail Line (variable moving average) and an ATR to show the overall trend direction.
The indicator is centered around a Variable Moving Average. The Variable Moving Average (VMA) is a study that uses an Exponential Moving Average being able to automatically adjust its smoothing factor according to the market volatility.
In addition to the VMA, the indicator makes use of the ATR which measures market volatility by decomposing the entire range of an asset price for that period. The true range is taken as the greatest of the following: current high less the current low; the absolute value of the current high less the previous close; and the absolute value of the current low less the previous close.
Multi indicators tableThis is a comprehensive trading tool that presents an overview of the market in a tabular format. It consists of five distinct categories of trading indicators : Volatility, Trend, Momentum, Reversal, and Volume. Each category includes a series of indicators that are widely used in the trading communauty.
The Volatility category includes the Average True Range (ATR) and Bollinger Bands indicators. The Trend category comprises the Average Directional Index (ADX), four Exponential Moving Averages (EMAs), Aroon, Parabolic SAR, and the Supertrend. The Momentum category includes the Stochastic Relative Strength Index (StochRSI), Money Flow Index (MFI), Williams %R, Relative Strength Index (RSI), and Commodity Channel Index (CCI). The Reversal category includes Parabolic SAR, Moving Average Convergence Divergence (MACD), and PP Supertrend. Finally, the Volume category includes the Volume Exponential Moving Average (EMA) indicator.
The indicators states are easily readable, the indicator case is colored based on his actual state. A bullish color (green by default), a bearish color (red by default),
a very bullish color (dark green by default), a very bearish color (dark red by default) and a neutral color (gray by default) displayed when the indicator doesn't give us a clear signal. Some indicators do not have a very bullish or very bearish state. Concerning volatility indicators, the bullish color indicates high volatility, the bearish color indicates low volatility, and the neutral color indicates normal volatility.
Most of the indicators displayed in the table are customizable, and traders can choose to hide the categories they don't want to use. The Indicator provides a quick and easily readable view on the market and allows traders to reduce the number of indicators on their chart making it lighter and more readable.
Crypto McClellan Oscillator (SLN Fix)This is an adaption of the Mcclellan Oscillator for crypto. Instead of tracking the S&P500 it tracks a selection of cryptos to make sure the indicator follows this sector instead.
Full credit goes to the creator of this indicator: Fadior. It has since been fixed by SLN.
The following description explains the standard McClellan Oscillator. Full credit to Investopedia , my fav source of financial explanations.
The same principles applies to its use in the crypto sector, but please be cautious of the last point, the limitations. Since crypto is more volatile, that could amplify choppy behavior.
This is not financial advice, please be extremely cautious. This indicator is only suitable as a confirmation signal and needs support of other signals to be profitable.
This indicator usually produces the best signals on slightly above daily time frame. I personally like 2 or 3 day, but you have to find the settings suitable for your trading style.
What Is the McClellan Oscillator?
The McClellan Oscillator is a market breadth indicator that is based on the difference between the number of advancing and declining issues on a stock exchange, such as the New York Stock Exchange (NYSE) or NASDAQ.
The indicator is used to show strong shifts in sentiment in the indexes, called breadth thrusts. It also helps in analyzing the strength of an index trend via divergence or confirmation.
The McClellan Oscillator formula can be applied to any stock exchange or group of stocks.
A reading above zero helps confirm a rise in the index, while readings below zero confirm a decline in the index.
When the index is rising but the oscillator is falling, that warns that the index could start declining too. When the index is falling and the oscillator is rising, that indicates the index could start rising soon. This is called divergence.
A significant change, such as moving 100 points or more, from a negative reading to a positive reading is called a breadth thrust. It may indicate a strong reversal from downtrend to uptrend is underway on the stock exchange.
How to Calculate the McClellan Oscillator
To get the calculation started, track Advances - Declines on a stock exchange for 19 and 39 days. Calculate a simple average for these, not exponential moving average (EMA).
Use these simple values as the Prior Day EMA values in the 19- and 39-day EMA formulas.
Calculate the 19- and 39-day EMAs.
Calculate the McClellan Oscillator value.
Now that the value has been calculated, on the next calculation use this value for the Prior Day EMA. Start calculating EMAs for the formula instead of simple averages.
If using the adjusted formula, the steps are the same, except use ANA instead of using Advances - Declines.
What Does the McClellan Oscillator Tell You?
The McClellan Oscillator is an indicator based on market breadth which technical analysts can use in conjunction with other technical tools to determine the overall state of the stock market and assess the strength of its current trend.
Since the indicator is based on all the stocks in an exchange, it is compared to the price movements of indexes that reflect that exchange, or compared to major indexes such as the S&P 500.
Positive and negative values indicate whether more stocks, on average, are advancing or declining. The indicator is positive when the 19-day EMA is above the 39-day EMA, and negative when the 19-day EMA is below the 39-day EMA.
A positive and rising indicator suggests that stocks on the exchange are being accumulated. A negative and falling indicator signals that stocks are being sold. Typically such action confirms the current trend in the index.
Crossovers from positive to negative, or vice versa, may signal the trend has changed in the index or exchange being tracked. When the indicator makes a large move, typically of 100 points or more, from negative to positive territory, that is called a breadth thrust.
It means a large number of stocks moved up after a bearish move. Since the stock market tends to rise over time, this a positive signal and may indicate that a bottom in the index is in and prices are heading higher overall.
When index prices and the indicator are moving in different directions, then the current index trend may lack strength. Bullish divergence occurs when the oscillator is rising while the index is falling. This indicates the index could head higher soon since more stocks are starting to advance.
Bearish divergence is when the index is rising and the indicator is falling. This means fewer stocks are keeping the advance going and prices may start to head lower.
Limitations of Using the McClellan Oscillator
The indicator tends to produce lots of signals. Breadth thrusts, divergence, and crossovers all occur with some frequency, but not all these signals will result in the price/index moving in the expected direction.
The indicator is prone to producing false signals and therefore should be used in conjunction with price action analysis and other technical indicators.
The indicator can also be quite choppy, moving between positive and negative territory rapidly. Such action indicates a choppy market, but this isn't evident until the indicator has made this whipsaw move a few times.
Good luck and a big thanks to Fadior!
Triple Brown's Exponential Smoothing (TBES)This script is a PineScript implementation of the Triple Exponential Moving Average (TEMA) indicator, which is a trend-following indicator used in technical analysis. The TEMA attempts to reduce the lag present in other moving averages by using a triple exponential smoothing technique.
The script begins by declaring the function "indicator" with the name "TBES", and setting the "overlay" parameter to "true" to display the indicator on top of the price chart. It also defines an input parameter called "Source" which is the source data for the TEMA calculation (usually the closing price of a financial asset). It also defines an input parameter called "Alpha" which is a smoothing factor that controls the weighting of the TEMA calculation.
The script then defines the "bes" function, which stands for "Brown's Exponential Smoothing". This function takes in the source data and the alpha smoothing factor as input, and applies the double exponential smoothing calculation to produce a smoothed version of the source data.
The "tbes" function is then defined, which stands for "Triple Brown's Exponential Smoothing" and calculates the TEMA. It does this by first applying the "bes" function to the source data, then applying it again to the output of the first "bes" calculation, and then applying it a third time to the output of the second "bes" calculation. The final TEMA value is then calculated as the sum of three times the difference between the output of the first "bes" calculation and the output of the second "bes" calculation, and the output of the third "bes" calculation.
Finally, the script plots the TEMA value on the chart in green color by calling the "plot" function and passing it the output of the "tbes" function, along with a string label for the indicator.
Multi Trend Cross Strategy TemplateToday I am sharing with the community trend cross strategy template that incorporates any combination of over 20 built in indicators. Some of these indicators are in the Pine library, and some have been custom coded and contributed over time by the beloved Pine Coder community. Identifying a trend cross is a common trend following strategy and a common custom-code request from the community. Using this template, users can now select from over 400 different potential trend combinations and setup alerts without any custom coding required. This Multi-Trend cross template has a very inclusive library of trend calculations/indicators built-in, and will plot any of the 20+ indicators/trends that you can select in the settings.
How it works : Simple trend cross strategies go long when the fast trend crosses over the slow trend, and/or go short when the fast trend crosses under the slow trend. Options for either trend direction are built-in to this strategy template. The script is also coded in a way that allows you to enable/modify pyramid settings and scale into a position over time after a trend has crossed.
Use cases : These types of strategies can reduce the volatility of returns and can help avoid large market downswings. For instance, those running a longer term trend-cross strategy may have not realized half the down swing of the bear markets or crashes in 02', 08', 20', etc. However, in other years, they may have exited the market from time to time at unfavorable points that didn't end up being a down turn, or at times the market was ranging sideways. Some also use them to reduce volatility and then add leverage to attempt to beat buy/hold of the underlying asset within an acceptable drawdown threshold.
Special thanks to @Duyck, @everget, @KivancOzbilgic and @LazyBear for coding and contributing earlier versions of some of these custom indicators in Pine.
This script incorporates all of the following indicators. Each of them can be selected and modified from within the indicator settings:
ALMA - Arnaud Legoux Moving Average
DEMA - Double Exponential Moving Average
DSMA - Deviation Scaled Moving Average - Contributed by Everget
EMA - Exponential Moving Average
HMA - Hull Moving Average
JMA - Jurik Moving Average - Contributed by Everget
KAMA - Kaufman's Adaptive Moving Average - Contributed by Everget
LSMA - Linear Regression , Least Squares Moving Average
RMA - Relative Moving Average
SMA - Simple Moving Average
SMMA - Smoothed Moving Average
Price Source - Plotted based on source selection
TEMA - Triple Exponential Moving Average
TMA - Triangular Moving Average
VAMA - Volume Adjusted Moving Average - Contributed by Duyck
VIDYA - Variable Index Dynamic Average - Contributed by KivancOzbilgic
VMA - Variable Moving Average - Contributed by LazyBear
VWMA - Volume Weighted Moving Average
WMA - Weighted Moving Average
WWMA - Welles Wilder's Moving Average
ZLEMA - Zero Lag Exponential Moving Average - Contributed by KivancOzbilgic
Disclaimer : This is not financial advice. Open-source scripts I publish in the community are largely meant to spark ideas that can be used as building blocks for part of a more robust trade management strategy. If you would like to implement a version of any script, I would recommend making significant additions/modifications to the strategy & risk management functions. If you don’t know how to program in Pine, then hire a Pine-coder. We can help!
EMA x5A simple script involving exponential moving averages. It draws on 5 customizable lookback periods for the EMA and draws it on the chart. From backtesting, periods of confluence between all of the exponential moving averages lead to trades with an increased probability of working out. I have also taken the liberty and added the feature of including higher timeframe comparisons on the same chart. For example, you can choose to draw a 50-period 4-hour EMA on your 5-minute chart if you are an intraday trader. This might holistically help with your analysis by having the data on a single chart. This indicator also helps traders who are using the free or pro versions of TradingView and want to use 5 EMA's but TradingView's indicator count does not allow that many.
I have also made the script open source for anyone looking to reference code.
TASC 2022.10 RS VA EMA█ OVERVIEW
TASC's October 2022 edition Traders' Tips includes the second part of the "Relative Strength Moving Averages" article series authored by Vitali Apirine. This is the code that implements the Relative Strength Volume-Adjusted Exponential Moving Average (RS VA EMA) presented in this publication.
█ CONCEPTS
In his article series, the author argues that the relative strength of price, volume, and volatility can potentially be used to filter price movements and define turning points. In particular, the RS VA EMA indicator is designed to account for the relative strength of volume. Like the traditional exponential moving average (EMA) , it is a lagging trend-following indicator. The difference is that it responds more quickly.
In a trading strategy, RS VA EMA is suggested to be used in combination with EMA of the same length to determine the overall trend or in combination with RS VA EMA of a different length to identify turning points and filter price movements.
█ CALCULATIONS
The calculation of RS VA EMA is based on the concept of volume strength (VS). By definition, VS measures the difference between "positive" and "negative" volume flow. Volume is indicated as "positive" when the close is higher than the previous close and "negative" when the close is below the previous close.
The following steps are used in the calculation process:
• Calculate the volume strength (VS) of a given length.
• Multiply VS by a predefined multiplier and calculate the EMA of the resulting time series.
The values of 10,10,10 are the typical input settings for RS VA EMA, where the first parameter is the length of the moving average, the second is the length of VS, and the third is the volume strength multiplier.
PPO w/ Discontinued Signal Lines [Loxx]PPO w/ Discontinued Signal Lines is a Percentage Price Oscillator with some upgrades. This indicator has 33 source types and 35+ moving average types as well as Discontinued Signal Lines and divergences. These additions reduce noise and increase hit rate.
What is the Price Percentage Oscillator?
The percentage price oscillator (PPO) is a technical momentum indicator that shows the relationship between two moving averages in percentage terms. The moving averages are a 26-period and 12-period exponential moving average (EMA).
The PPO is used to compare asset performance and volatility, spot divergence that could lead to price reversals, generate trade signals, and help confirm trend direction.
Included:
Bar coloring
3 signal variations w/ alerts
Divergences w/ alerts
Loxx's Expanded Source Types
Loxx's Moving Averages
ATR Adaptive EMA [Loxx]ATR adaptive EMA is an exponential moving average with dynamic ATR-adjusted length inputs.
What is Average True Range (ATR)?
The average true range (ATR) is a technical analysis indicator, introduced by market technician J. Welles Wilder Jr. in his book New Concepts in Technical Trading Systems, that measures market volatility by decomposing the entire range of an asset price for that period.1
The true range is taken as the greatest of the following: current high less the current low; the absolute value of the current high less the previous close; and the absolute value of the current low less the previous close. The ATR is then a moving average, generally using 14 days, of the true ranges.
StapleIndicatorsLibrary "StapleIndicators"
This Library provides some common indicators commonly referenced from other studies in Pine Script
squeeze(bbSrc, bbPeriod, bbDev, kcSrc, kcPeriod, kcATR, signalPeriod) Volatility Squeeze
Parameters:
bbSrc : (Optional) Bollinger Bands Source. By default close
bbPeriod : (Optional) Bollinger Bands Period. By default 20
bbDev : (Optional) Bollinger Bands Standard Deviation. By default 2.0
kcSrc : (Optional) Keltner Channel Source. By default close
kcPeriod : (Optional) Keltner Channel Period. By default 20
kcATR : (Optional) Keltner Channel ATR Multiplier. By default 1.5
signalPeriod : (Optional) Keltner Channel ATR Multiplier. By default 1.5
Returns:
adx(diPeriod, adxPeriod, signalPeriod, adxTier1, adxTier2, adxTier3) ADX: Average Directional Index
Parameters:
diPeriod : (Optional) Directional Indicator Period. By default 14
adxPeriod : (Optional) ADX Smoothing. By default 14
signalPeriod : (Optional) Signal Period. By default 13
adxTier1 : (Optional) ADX Tier #1 Level. By default 20
adxTier2 : (Optional) ADX Tier #2 Level. By default 15
adxTier3 : (Optional) ADX Tier #3 Level. By default 10
Returns:
smaPreset(srcMa) Delivers a set of frequently used Simple Moving Averages
Parameters:
srcMa : (Optional) MA Source. By default 'close'
Returns:
emaPreset(srcMa) Delivers a set of frequently used Exponential Moving Averages
Parameters:
srcMa : (Optional) MA Source. By default 'close'
Returns:
maSelect(ma, srcMa) Filters and outputs the selected MA
Parameters:
ma : (Optional) MA text. By default 'Ema-21'
srcMa : (Optional) MA Source. By default 'close'
Returns: maSelected
periodAdapt(modeAdaptative, src, maxLen, minLen) Adaptative Period
Parameters:
modeAdaptative : (Optional) Adaptative Mode. By default 'Average'
src : (Optional) Source. By default 'close'
maxLen : (Optional) Max Period. By default '60'
minLen : (Optional) Min Period. By default '4'
Returns: periodAdaptative
azlema(modeAdaptative, srcMa) Azlema: Adaptative Zero-Lag Ema
Parameters:
modeAdaptative : (Optional) Adaptative Mode. By default 'Average'
srcMa : (Optional) MA Source. By default 'close'
Returns: azlema
ssma(lsmaVar, srcMa, periodMa) SSMA: Smooth Simple MA
Parameters:
lsmaVar : Linear Regression Curve.
srcMa : (Optional) MA Source. By default 'close'
periodMa : (Optional) MA Period. By default '13'
Returns: ssma
jvf(srcMa, periodMa) Jurik Volatility Factor
Parameters:
srcMa : (Optional) MA Source. By default 'close'
periodMa : (Optional) MA Period. By default '7'
Returns:
jBands(srcMa, periodMa) Jurik Bands
Parameters:
srcMa : (Optional) MA Source. By default 'close'
periodMa : (Optional) MA Period. By default '7'
Returns:
jma(srcMa, periodMa, phase) Jurik MA (JMA)
Parameters:
srcMa : (Optional) MA Source. By default 'close'
periodMa : (Optional) MA Period. By default '7'
phase : (Optional) Phase. By default '50'
Returns: jma
maCustom(ma, srcMa, periodMa, lrOffset, almaOffset, almaSigma, jmaPhase, azlemaMode) Creates a custom Moving Average
Parameters:
ma : (Optional) MA text. By default 'Ema'
srcMa : (Optional) MA Source. By default 'close'
periodMa : (Optional) MA Period. By default '13'
lrOffset : (Optional) Linear Regression Offset. By default '0'
almaOffset : (Optional) Alma Offset. By default '0.85'
almaSigma : (Optional) Alma Sigma. By default '6'
jmaPhase : (Optional) JMA Phase. By default '50'
azlemaMode : (Optional) Azlema Adaptative Mode. By default 'Average'
Returns: maTF
Ichimoku VariationsThe Ichimoku cloud is traditionally constructed from the highest high and lowest low for a number of periods. This script allows for it to be transformed and calculated like more traditional moving averages (e.g. simple moving average, exponential moving average). Since the Ichimoku is normally a system of moving average-like lines, maybe someone out there will learn something from being able to switch to sma, ema, etc etc.
In general, I think no TA indicator is a magic bullet, and you should just use what you like!
Credit: This script utilizes the "Color Gradient Framework" tutorial by LucF (PineCoders) to create gradient visuals, which are also customizable for the user.
Recommended modes:
default
SMA
EMA
SMMA
WMA
VWMA
Tillson T3
Not Recommended (These moving averages are too fast, and probably will require adjusting settings to something like the 20-60-120-30 to make more sense):
HMA
EHMA
TEMA
ALMA
LSMA
Combo 2/20 EMA & Adaptive Price Zone This is combo strategies for get a cumulative signal.
First strategy
This indicator plots 2/20 exponential moving average. For the Mov
Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
Second strategy
The adaptive price zone (APZ) is a volatility-based technical indicator that helps investors
identify possible market turning points, which can be especially useful in a sideways-moving
market. It was created by technical analyst Lee Leibfarth in the article “Identify the
Turning Point: Trading With An Adaptive Price Zone,” which appeared in the September 2006 issue
of the journal Technical Analysis of Stocks and Commodities.
This indicator attempts to signal significant price movements by using a set of bands based on
short-term, double-smoothed exponential moving averages that lag only slightly behind price changes.
It can help short-term investors and day traders profit in volatile markets by signaling price
reversal points, which can indicate potentially lucrative times to buy or sell. The APZ can be
implemented as part of an automated trading system and can be applied to the charts of all tradeable assets.
WARNING:
- For purpose educate only
- This script to change bars colors.
TimeLockedMALibrary "TimeLockedMA"
Library & function(s) which generates a moving average that stays locked to users desired time preference.
TODO - Add functionality for more moving average types. IE: smooth, weighted etc...
Example:
time_locked_ma(close, length=1, timeframe='days', type='ema')
Will generate a 1 day exponential moving average that will stay consistent across all chart intervals.
Error Handling
On small time frames with large moving averages (IE: 1min chart with a 50 week moving average), you'll get a study error that says "(function "sma") references too many candles in history" .
To fix this, make sure you have timeframe="" as an indicator() header. Next, in the indicator settings, increase the timeframe from to a higher interval until the error goes away.
By default, it's set to "Chart". Bringing the interval up to 1hr will usually solve the issue.
Furthermore, adding timeframe_gaps=false to your indicator() header will give you an approximation of real-time values.
Misc Info
For time_lock_ma() setting type='na' will return the relative length value that adjusts dynamically to user's chart time interval.
This is good for plugging into other functions where a lookback or length is required. (IE: Bollinger Bands)
time_locked_ma(source, length, timeframe, type) Creates a moving average that is locked to a desired timeframe
Parameters:
source : float, Moving average source
length : int, Moving average length
timeframe : string, Desired timeframe. Use: "minutes", "hours", "days", "weeks", "months", "chart"
type : string, string Moving average type. Use "SMA" (default) or "EMA". Value of "NA" will return relative lookback length.
Returns: moving average that is locked to desired timeframe.
timeframe_convert(t, a, b) Converts timeframe to desired timeframe. From a --> b
Parameters:
t : int, Time interval
a : string, Time period
b : string, Time period to convert to
Returns: Converted timeframe value
chart_time(timeframe_period, timeframe_multiplier) Separates timeframe.period function and returns chart interval and period
Parameters:
timeframe_period : string, timeframe.period
timeframe_multiplier : int, timeframe.multiplier
Enjoy :)
Swing Dream - PAINT BARS | MA | EMA | DMA | VWAP | TABLE | ADR %- Swing Dream -
Script created for breakout-swing traders, in the style of QullaMaggie * , Dan Zanger, Oliver Kell, and Stockbee.
The following indicators are used by most successful breakout-swing traders such as mentioned above.
(As published) it contains:
Painted Bars, also known as inside/outside candles. Used for candle analysis and to determine breakout pivots & levels. For instance; use it in different timeframes and seek formations (ex, 3-1-2). For further inspiration, study Rob Smith's The Strat .
MA, Simple Moving Averages (Basic levels = 10,20,50,200). Use this indicator to define resistance/support areas as well as the overall long/swing-term trend. In breakout strategies such as EP, Flags, etc this can be used for trailing stops; an example, post-breakout, let the price ride the 20ma before exiting your position.
EMA, Exponential Moving Averages with periods inspired by Qullamaggie (10,20,65). Use this on shorter timeframes (ex, 1h) and for the same principles as MAs.
VWAP, Volume-Weighted Average Price. As for the previous, utilize this as a level indicator to find areas of resistance/support. Good for swing-trading as it implies whenever holders are profitable or not.
DMA, Displaced Moving Average (Horizontal). Personally, I use this a lot. Works very well for trailing stops (post breakout) and "bounce" areas. Choose your own offset and period.
ADR%, Average Daily Range Percentage. Displayed in the table and used to define a symbol's volatility. A very good tool for Qullamaggie-style trading. Personally, I try to find setups with over 6% ADR. Basic definition; low ADR% = Increased chance of a symbol to move slower and in smaller ranges. A higher value equals the opposite.
Table. A table with basic symbol-related information. Could save you plenty of time whenever you scan or search for new swing setups. Looking to add more features here.
Why should you use this script? Well, instead of having tens of different indicators, use this script and combine everything together with EP, Flag, or breakout principles. Suited for every plan, and more efficient in my opinion.
View settings to turn on/off different indicators.
* If you're looking for an introduction and further explanation of how Qullamaggie uses mentioned indicators, I could recommend checking out his website, stream, or participation in "Chat With Traders".
At last, I want to credit: @jkcqld @neolao @TheScrutiniser
This Script will get updated and improved.
// TechFille006
3 Moving Average Exponential with multi TFThis is a simple Exponential Moving Average indicator. It allows you to have 3 Exponential Moving Averages and set a specific TimeFrame for each. Feel free to cope code LOL!
H/L Price Band with Signal Line (PBS)This indicator centers a moving average around the hl2 of the price. This is calculated as the difference of two moving averages. The upper band is a 9 period exponential moving average, the lower band is a 7 period moving average and the center line is the average between the two. The "Fast Line" is our signal line in this oscillator. When the price is hovering around the center of the band this indicates that a trend is pausing or reversing. When the fast line exits the band this could be a buy or sell signal. It could also indicate a very strong trend in that direction. To get the optimal entry and exit you might want to wait for the price to return to the center line. In addition to the basic functionality of this indicator I have added some bonus features. You can enable the "Slow Line" or the "Long Line" to enhance your signals. When the fast line is above the slow/long line you are in an up trend and inversely when the fast line is below the slow/long line you are in a down trend. The crossing of these lines can indicate a reversal. I have also included a "J" style amplification line. This works by enhancing the difference between the Fast and Slow/Long line to make it more visually apparent. You can also configure the "J" line to be calculated between either the slow or long line. Finally I have added the feature to amplify the band width by the standard deviation. This is set to 1 by default but you can also get a more responsive signal by setting this to 0.
This indicator works in most markets. There is a tool tip for every aspect of this indicator explaining how everything works. I hope you are very profitable with this one!
If you find this indicator is useful to you, Star it, Follow, Donate, Like and Share.
Your support is a highly motivation for me.
Indicator Functions with Factor and HeikinAshiHello all,
This indicator returns below selected indicators values with entered parameters.
Also you can add factorization, functions candles, function HeikinAshi and more to the plot.
VERSION:
Version 1: returns series only source and Length with already defined default values
Version 2: returns series with source, Length, p1 and p2 parameters according to the indicator definition (ex: )
PARAMETERS p1 p2
for defining multi arguments (See indicators list) indicator input value usable with verison=V2 selected.. ex: for alma( src , len ,offset=0.85,sigma=6), set source=source, len=length, p1=0.85 an p2=6
FACTOR:
Add double triple, Quadruple factors to selected indicator (like converting EMA to 2-DEMA, 3-TEMA, 4-QEMA...)
1-Original
2-Double
3-Triple
4-Quadruple
LOG
Log: Use log, log10 on function entries
PLOTTING:
PType: Plotting type of the function on the screen
Original :use original values
Org. Range (-1,1): usable for indicators between range -1 and 1
Stochastic: Convert indicator values by using stochastic calculation between -1 & 1. (use AT/% length to better view)
PercentRank: Convert indicator values by using Percent Rank calculation between -1 & 1. (use AT/% length to better view)
ST/%: length for plotting Type for stochastic and Percent Rank options
Smooth: Use SWMA for smoothing the function
DISPLAY TYPES
Plot Candles: Display the selected indicator as candle by implementing values
Plot Ind: Display result of indicator with selected source
HeikinAshi: Display Selected indicator candles with Heikin Ashi calculation
INDICATOR LIST:
hide = 'DONT DISPLAY', //Dont display & calculate the indicator. (For my framework usage)
alma = 'alma( src , len ,offset=0.85,sigma=6)', // Arnaud Legoux Moving Average
ama = 'ama( src , len ,fast=14,slow=100)', //Adjusted Moving Average
acdst = 'accdist()', // Accumulation/distribution index.
cma = 'cma( src , len )', //Corrective Moving average
dema = 'dema( src , len )', // Double EMA (Same as EMA with 2 factor)
ema = 'ema( src , len )', // Exponential Moving Average
gmma = 'gmma( src , len )', //Geometric Mean Moving Average
hghst = 'highest( src , len )', //Highest value for a given number of bars back.
hl2ma = 'hl2ma( src , len )', //higest lowest moving average
hma = 'hma( src , len )', // Hull Moving Average .
lgAdt = 'lagAdapt( src , len ,perclen=5,fperc=50)', //Ehler's Adaptive Laguerre filter
lgAdV = 'lagAdaptV( src , len ,perclen=5,fperc=50)', //Ehler's Adaptive Laguerre filter variation
lguer = 'laguerre( src , len )', //Ehler's Laguerre filter
lsrcp = 'lesrcp( src , len )', //lowest exponential esrcpanding moving line
lexp = 'lexp( src , len )', //lowest exponential expanding moving line
linrg = 'linreg( src , len ,loffset=1)', // Linear regression
lowst = 'lowest( src , len )', //Lovest value for a given number of bars back.
pcnl = 'percntl( src , len )', //percentile nearest rank. Calculates percentile using method of Nearest Rank.
pcnli = 'percntli( src , len )', //percentile linear interpolation. Calculates percentile using method of linear interpolation between the two nearest ranks.
rema = 'rema( src , len )', //Range EMA (REMA)
rma = 'rma( src , len )', //Moving average used in RSI . It is the exponentially weighted moving average with alpha = 1 / length.
sma = 'sma( src , len )', // Smoothed Moving Average
smma = 'smma( src , len )', // Smoothed Moving Average
supr2 = 'super2( src , len )', //Ehler's super smoother, 2 pole
supr3 = 'super3( src , len )', //Ehler's super smoother, 3 pole
strnd = 'supertrend( src , len ,period=3)', //Supertrend indicator
swma = 'swma( src , len )', //Sine-Weighted Moving Average
tema = 'tema( src , len )', // Triple EMA (Same as EMA with 3 factor)
tma = 'tma( src , len )', //Triangular Moving Average
vida = 'vida( src , len )', // Variable Index Dynamic Average
vwma = 'vwma( src , len )', // Volume Weigted Moving Average
wma = 'wma( src , len )', //Weigted Moving Average
angle = 'angle( src , len )', //angle of the series (Use its Input as another indicator output)
atr = 'atr( src , len )', // average true range . RMA of true range.
bbr = 'bbr( src , len ,mult=1)', // bollinger %%
bbw = 'bbw( src , len ,mult=2)', // Bollinger Bands Width . The Bollinger Band Width is the difference between the upper and the lower Bollinger Bands divided by the middle band.
cci = 'cci( src , len )', // commodity channel index
cctbb = 'cctbbo( src , len )', // CCT Bollinger Band Oscilator
chng = 'change( src , len )', //Difference between current value and previous, source - source.
cmo = 'cmo( src , len )', // Chande Momentum Oscillator . Calculates the difference between the sum of recent gains and the sum of recent losses and then divides the result by the sum of all price movement over the same period.
cog = 'cog( src , len )', //The cog (center of gravity ) is an indicator based on statistics and the Fibonacci golden ratio.
cpcrv = 'copcurve( src , len )', // Coppock Curve. was originally developed by Edwin "Sedge" Coppock (Barron's Magazine, October 1962).
corrl = 'correl( src , len )', // Correlation coefficient . Describes the degree to which two series tend to deviate from their ta. sma values.
count = 'count( src , len )', //green avg - red avg
dev = 'dev( src , len )', //ta.dev() Measure of difference between the series and it's ta. sma
fall = 'falling( src , len )', //ta.falling() Test if the `source` series is now falling for `length` bars long. (Use its Input as another indicator output)
kcr = 'kcr( src , len ,mult=2)', // Keltner Channels Range
kcw = 'kcw( src , len ,mult=2)', //ta.kcw(). Keltner Channels Width. The Keltner Channels Width is the difference between the upper and the lower Keltner Channels divided by the middle channel.
macd = 'macd( src , len )', // macd
mfi = 'mfi( src , len )', // Money Flow Index
nvi = 'nvi()', // Negative Volume Index
obv = 'obv()', // On Balance Volume
pvi = 'pvi()', // Positive Volume Index
pvt = 'pvt()', // Price Volume Trend
rise = 'rising( src , len )', //ta.rising() Test if the `source` series is now rising for `length` bars long. (Use its Input as another indicator output)
roc = 'roc( src , len )', // Rate of Change
rsi = 'rsi( src , len )', // Relative strength Index
smosc = 'smi_osc( src , len ,fast=5, slow=34)', //smi Oscillator
smsig = 'smi_sig( src , len ,fast=5, slow=34)', //smi Signal
stdev = 'stdev( src , len )', //Standart deviation
trix = 'trix( src , len )' , //the rate of change of a triple exponentially smoothed moving average .
tsi = 'tsi( src , len )', //True Strength Index
vari = 'variance( src , len )', //ta.variance(). Variance is the expectation of the squared deviation of a series from its mean (ta. sma ), and it informally measures how far a set of numbers are spread out from their mean.
wilpc = 'willprc( src , len )', // Williams %R
wad = 'wad()', // Williams Accumulation/Distribution .
wvad = 'wvad()' //Williams Variable Accumulation/Distribution
I will update the indicator list when I will update the library
Thanks to tradingview, @RodrigoKazuma for their open source indicators
Moving Average Trend█ OVERVIEW
This is a Moving Average Script that contains both a cloud and a ribbon that has independent MA-type selection.
⬆ green arrow up = up trend flip
⬇ red arrow down = down trend flip
🟢 Green Dot = Potential Long
🔴 Red Dot = Potential Short
█ CONCEPTS
1 — Cloud, like most trading algo, the cloud is made of 8 short term MA , with MA cross and MA cross (longema)
2 — Ribbon, this is by default turned off, the default values , an option in setting to change longema to look for ribbon cross
3 — Sequence, It goes from 1 – 9 at 9 the sequence resets. The sequence changes colour depending on if it’s a down trend(red) or uptrend(green) or an over extended trend (yellow)
Setup definitions
Red sell start = current close < the close 4 candles back
Yellow sell extended = current close < last close and current close < two closes back
Green buy start = current close > the close 4 candles back
Yellow buy extended = current close last close and current close < two closes back
This can help you find when it’s time to get out, or sit out of a choppy trend.
4 - Moving Average types:
sma = Simple Moving Average
ema = Exponential Moving Average
wma = Weighted Moving Average
vwma = Volume Weighted Moving Average
rma = Running Moving Average
alma = Arnaud Legoux Moving Average
hma = Hull Moving Average
jma = Jurik Moving Average
frama-o = frama
frama-m = frama mod
dema = Double Exponential Moving Average
tema = Triple Exponential Moving Average
zlema = Zero lag Exponential Moving Average
smma = Smoothed Moving Average
kma = kaufman Moving Average
tma = triangular Moving Average
gmma = Geometric Mean Moving Average
vida = Variable Index Dynamic Average
cma = Corrective Moving average
rema = Range Exponential Moving average
█ OTHER SECTIONS
• FEATURES: to describe the detailed features of the script, usually arranged in the same order as users will find them in the script's inputs.
• HOW TO USE
• LIMITATIONS: Like with any MA script there is a lag factor associated with is.
• RAMBLINGS: Experiment to your hearts content with all the MA types, I'm impartial to HMA as is
• NOTES: some of the MA's are more taxing, therefore take longer to load, be patience, this is a trimmed down version of an existing invite only script i have






















